/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package db.core.interfaces;

import core.Book;
import core.Course;
import java.util.Collection;

/**
 *
 * @author Anton
 */
public interface CourseDAOCore
{    
    Course getCourseById(long id);

    Collection<String> searchForStringCourses(String beginsWith, int maxResult);
    Collection<Course> searchForObjectCourses(String beginsWith);

    Collection<Course> getCoursesByName(String name);
    Collection<Course> getCoursesByCourseId(String courseId);
    Collection<Course> getAllCourses();

    void addBookToCourse(Course course, Book book);
    void deleteBookFromCourse(Course course, Book book);

    void addCourse(Course course);
    void updateCourse(Course course);
    void deleteCourse(Course course);
}
